e6c818a8acee5b3ec5d49769d1b7abb25ec07b21,xwiki-core/src/main/java/com/xpn/xwiki/web/XWikiPortlet.java,XWikiPortlet,initializeContainerComponent,#XWikiContext#,411
Before Change
PortletContainerFactory containerFactory =
(PortletContainerFactory) Utils.getComponent(PortletContainerFactory.ROLE, context);
try {
container.setRequest(containerFactory.createRequest(
((XWikiPortletRequest) context.getRequest()).getPortletRequest()));
container.setResponse(containerFactory.createResponse(
((XWikiPortletResponse) context.getResponse()).getPortletResponse()));
container.setSession(containerFactory.createSession(
((XWikiPortletRequest) context.getRequest()).getPortletRequest()));
} catch (PortletContainerException e) {
throw new PortletException("Failed to initialize request/response or session", e);
}
After Change
// Note that this is a bridge between the old core and the component architecture.
// In the new component architecture we use ThreadLocal to transport the request,
// response and session to components which require them.
PortletContainerInitializer containerInitializer =
(PortletContainerInitializer) Utils.getComponent(PortletContainerInitializer.ROLE,
context);
try {
containerInitializer.initializeRequest(
((XWikiPortletRequest) context.getRequest()).getPortletRequest());
containerInitializer.initializeResponse(
((XWikiPortletResponse) context.getResponse()).getPortletResponse());
containerInitializer.initializeSession(
((XWikiPortletRequest) context.getRequest()).getPortletRequest());
} catch (PortletContainerException e) {
throw new PortletException("Failed to initialize request/response or session", e);
}